#ifndef GRAYSCALERECONSTRUCT_H
#define GRAYSCALERECONSTRUCT_H
#include <QImage>
#include "Ptr.hpp"
#include "Core.h"



using namespace OOPUtils;



class GrayscaleReconstruct
{
public:

	enum Type
	{
		OBR, CBR
	};

	GrayscaleReconstruct (Core< int > se);

	Ptr< QImage > process (Ptr< QImage > pSrcImage);

	Ptr< QImage > doOBR (Ptr< QImage > pSrcImage);

	Ptr< QImage > doCBR (Ptr< QImage > pSrcImage);

	void setType (Type t);

	Type getType () const;

private:

	Core< int > _se;

	Type _type;
	
};

#endif // GRAYSCALERECONSTRUCT_H